// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/kpdus/jad.html
// Decompiler options: braces fieldsfirst space lnc
package android.support.v4.app;
import android.content.Context;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Parcelable;
import android.support.v4.util.DebugUtils;
import android.support.v4.util.LogWriter;
import android.util.Log;
import android.util.SparseArray;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.animation.AccelerateInterpolator;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.view.animation.AnimationSet;
import android.view.animation.AnimationUtils;
import android.view.animation.DecelerateInterpolator;
import android.view.animation.Interpolator;
import android.view.animation.ScaleAnimation;
import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
// Referenced classes of package android.support.v4.app:
// FragmentManager, w, FragmentActivity, Fragment,
// J, FragmentManagerState, FragmentState, BackStackState,
// l, ae, P, u,
// A, x, z, y,
// FragmentTransaction
final class v extends FragmentManager
{
static final Interpolator E = new DecelerateInterpolator(2.5F);
static final Interpolator F = new DecelerateInterpolator(1.5F);
static final Interpolator G = new AccelerateInterpolator(2.5F);
static final Interpolator H = new AccelerateInterpolator(1.5F);
static final int I = 220;
public static final int J = 1;
public static final int K = 2;
public static final int L = 3;
public static final int M = 4;
public static final int N = 5;
public static final int O = 6;
static boolean a = false;
static final String b = "FragmentManager";
static final boolean c = false;
static final String d = "android:target_req_state";
static final String e = "android:target_state";
static final String f = "android:view_state";
static final String g = "android:user_visible_hint";
boolean A;
Bundle B;
SparseArray C;
Runnable D;
ArrayList h;
Runnable i[];
boolean j;
ArrayList k;
ArrayList l;
ArrayList m;
ArrayList n;
ArrayList o;
ArrayList p;
ArrayList q;
ArrayList r;
int s;
FragmentActivity t;
u u;
Fragment v;
boolean w;
boolean x;
boolean y;
String z;
v()
{
s = 0;
B = null;
C = null;
D = new w(this);
}
static Animation a(Context context, float f1, float f2)
{
AlphaAnimation alphaanimation = new AlphaAnimation(f1, f2);
alphaanimation.setInterpolator(F);
alphaanimation.setDuration(220L);
return alphaanimation;
}
static Animation a(Context context, float f1, float f2, float f3, float f4)
{
AnimationSet animationset = new AnimationSet(false);
ScaleAnimation scaleanimation = new ScaleAnimation(f1, f2, f1, f2, 1, 0.5F, 1, 0.5F);
scaleanimation.setInterpolator(E);
scaleanimation.setDuration(220L);
animationset.addAnimation(scaleanimation);
AlphaAnimation alphaanimation = new AlphaAnimation(f3, f4);
alphaanimation.setInterpolator(F);
alphaanimation.setDuration(220L);
animationset.addAnimation(alphaanimation);
return animationset;
}
private void a(RuntimeException runtimeexception)
{
Log.e("FragmentManager", runtimeexception.getMessage());
Log.e("FragmentManager", "Activity state:");
PrintWriter printwriter = new PrintWriter(new LogWriter("FragmentManager"));
if (t != null)
{
try
{
t.dump(" ", null, printwriter, new String[0]);
}
catch (Exception exception1)
{
Log.e("FragmentManager", "Failed dumping state", exception1);
}
} else
{
try
{
dump(" ", null, printwriter, new String[0]);
}
catch (Exception exception)
{
Log.e("FragmentManager", "Failed dumping state", exception);
}
}
throw runtimeexception;
}
public static int b(int i1)
{
switch (i1)
{
default:
return 0;
case 4097:
return 8194;
case 8194:
return 4097;
case 4099:
return 4099;
}
}
public static int b(int i1, boolean flag)
{
switch (i1)
{
default:
return -1;
case 4097:
return !flag ? 2 : 1;
case 8194:
return !flag ? 4 : 3;
case 4099:
break;
}
return !flag ? 6 : 5;
}
private void q()
{
if (x)
{
throw new IllegalStateException("Can not perform this action after onSaveInstanceState");
}
if (z != null)
{
throw new IllegalStateException((new StringBuilder()).append("Can not perform this action inside of ").append(z).toString());
} else
{
return;
}
}
public int a(l l1)
{
this;
JVM INSTR monitorenter ;
int i1;
if (q != null && q.size() > 0)
{
break MISSING_BLOCK_LABEL_98;
}
if (p == null)
{
p = new ArrayList();
}
i1 = p.size();
if (a)
{
Log.v("FragmentManager", (new StringBuilder()).append("Setting back stack index ").append(i1).append(" to ").append(l1).toString());
}
p.add(l1);
this;
JVM INSTR monitorexit ;
return i1;
int j1;
j1 = ((Integer)q.remove(-1 + q.size())).intValue();
if (a)
{
Log.v("FragmentManager", (new StringBuilder()).append("Adding back stack index ").append(j1).append(" with ").append(l1).toString());
}
p.set(j1, l1);
this;
JVM INSTR monitorexit ;
return j1;
Exception exception;
exception;
this;
JVM INSTR monitorexit ;
throw exception;
}
public Fragment a(String s1)
{
if (k != null && s1 != null)
{
for (int i1 = -1 + k.size(); i1 >= 0; i1--)
{
Fragment fragment = (Fragment)k.get(i1);
if (fragment == null)
{
continue;
}
Fragment fragment1 = fragment.a(s1);
if (fragment1 != null)
{
return fragment1;
}
}
}
return null;
}
Animation a(Fragment fragment, int i1, boolean flag, int j1)
{
Animation animation = fragment.onCreateAnimation(i1, flag, fragment.V);
if (animation == null)
{
if (fragment.V == 0 || (animation = AnimationUtils.loadAnimation(t, fragment.V)) == null)
{
if (i1 == 0)
{
return null;
}
int k1 = b(i1, flag);
if (k1 < 0)
{
return null;
}
switch (k1)
{
default:
if (j1 == 0 && t.getWindow() != null)
{
j1 = t.getWindow().getAttributes().windowAnimations;
}
if (j1 == 0)
{
return null;
} else
{
return null;
}
case 1: // '\001'
return a(((Context) (t)), 1.125F, 1.0F, 0.0F, 1.0F);
case 2: // '\002'
return a(((Context) (t)), 1.0F, 0.975F, 1.0F, 0.0F);
case 3: // '\003'
return a(((Context) (t)), 0.975F, 1.0F, 0.0F, 1.0F);
case 4: // '\004'
return a(((Context) (t)), 1.0F, 1.075F, 1.0F, 0.0F);
case 5: // '\005'
return a(((Context) (t)), 0.0F, 1.0F);
case 6: // '\006'
return a(((Context) (t)), 1.0F, 0.0F);
}
}
}
return animation;
}
void a()
{
if (k != null)
{
int i1 = 0;
while (i1 < k.size())
{
Fragment fragment = (Fragment)k.get(i1);
if (fragment != null)
{
a(fragment);
}
i1++;
}
}
}
public void a(int i1)
{
this;
JVM INSTR monitorenter ;
p.set(i1, null);
if (q == null)
{
q = new ArrayList();
}
if (a)
{
Log.v("FragmentManager", (new StringBuilder()).append("Freeing back stack index ").append(i1).toString());
}
q.add(Integer.valueOf(i1));
this;
JVM INSTR monitorexit ;
return;
Exception exception;
exception;
this;
JVM INSTR monitorexit ;
throw exception;
}
void a(int i1, int j1, int k1, boolean flag)
{
if (t == null && i1 != 0)
{
throw new IllegalStateException("No activity");
}
if (flag || s != i1) goto _L2; else goto _L1
_L1:
return;
_L2:
s = i1;
if (k == null) goto _L1; else goto _L3
_L3:
int l1;
boolean flag1;
l1 = 0;
flag1 = false;
_L5:
boolean flag2;
if (l1 >= k.size())
{
break; /* Loop/switch isn't completed */
}
Fragment fragment = (Fragment)k.get(l1);
if (fragment == null)
{
break MISSING_BLOCK_LABEL_170;
}
a(fragment, i1, j1, k1, false);
if (fragment.ab == null)
{
break MISSING_BLOCK_LABEL_170;
}
flag2 = flag1 | fragment.ab.hasRunningLoaders();
_L6:
l1++;
flag1 = flag2;
if (true) goto _L5; else goto _L4
_L4:
if (!flag1)
{
a();
}
if (w && t != null && s == 5)
{
t.supportInvalidateOptionsMenu();
w = false;
return;
}
goto _L1
flag2 = flag1;
goto _L6
}
public void a(int i1, l l1)
{
this;
JVM INSTR monitorenter ;
int j1;
if (p == null)
{
p = new ArrayList();
}
j1 = p.size();
if (i1 >= j1) goto _L2; else goto _L1
_L1:
if (a)
{
Log.v("FragmentManager", (new StringBuilder()).append("Setting back stack index ").append(i1).append(" to ").append(l1).toString());
}
p.set(i1, l1);
_L4:
this;
JVM INSTR monitorexit ;
return;
_L2:
if (j1 >= i1)
{
break; /* Loop/switch isn't completed */
}
p.add(null);
if (q == null)
{
q = new ArrayList();
}
if (a)
{
Log.v("FragmentManager", (new StringBuilder()).append("Adding available back stack index ").append(j1).toString());
}
q.add(Integer.valueOf(j1));
j1++;
if (true) goto _L2; else goto _L3
_L3:
if (a)
{
Log.v("FragmentManager", (new StringBuilder()).append("Adding back stack index ").append(i1).append(" with ").append(l1).toString());
}
p.add(l1);
goto _L4
Exception exception;
exception;
this;
JVM INSTR monitorexit ;
throw exception;
}
void a(int i1, boolean flag)
{
a(i1, 0, 0, flag);
}
public void a(Configuration configuration)
{
if (l != null)
{
for (int i1 = 0; i1 < l.size(); i1++)
{
Fragment fragment = (Fragment)l.get(i1);
if (fragment != null)
{
fragment.a(configuration);
}
}
}
}
void a(Parcelable parcelable, ArrayList arraylist)
{
if (parcelable != null) goto _L2; else goto _L1
_L1:
FragmentManagerState fragmentmanagerstate;
return;
_L2:
if ((fragmentmanagerstate = (FragmentManagerState)parcelable).a != null)
{
if (arraylist != null)
{
for (int j2 = 0; j2 < arraylist.size(); j2++)
{
Fragment fragment3 = (Fragment)arraylist.get(j2);
if (a)
{
Log.v("FragmentManager", (new StringBuilder()).append("restoreAllState: re-attaching retained ").append(fragment3).toString());
}
FragmentState fragmentstate1 = fragmentmanagerstate.a[fragment3.u];
fragmentstate1.k = fragment3;
fragment3.t = null;
fragment3.G = 0;
fragment3.E = false;
fragment3.A = false;
fragment3.x = null;
if (fragmentstate1.j != null)
{
fragmentstate1.j.setClassLoader(t.getClassLoader());
fragment3.t = fragmentstate1.j.getSparseParcelableArray("android:view_state");
}
}
}
k = new ArrayList(fragmentmanagerstate.a.length);
if (m != null)
{
m.clear();
}
int i1 = 0;
while (i1 < fragmentmanagerstate.a.length)
{
FragmentState fragmentstate = fragmentmanagerstate.a[i1];
if (fragmentstate != null)
{
Fragment fragment2 = fragmentstate.a(t, v);
if (a)
{
Log.v("FragmentManager", (new StringBuilder()).append("restoreAllState: active #").append(i1).append(": ").append(fragment2).toString());
}
k.add(fragment2);
fragmentstate.k = null;
} else
{
k.add(null);
if (m == null)
{
m = new ArrayList();
}
if (a)
{
Log.v("FragmentManager", (new StringBuilder()).append("restoreAllState: avail #").append(i1).toString());
}
m.add(Integer.valueOf(i1));
}
i1++;
}
if (arraylist != null)
{
int i2 = 0;
while (i2 < arraylist.size())
{
Fragment fragment1 = (Fragment)arraylist.get(i2);
if (fragment1.y >= 0)
{
if (fragment1.y < k.size())
{
fragment1.x = (Fragment)k.get(fragment1.y);
} else
{
Log.w("FragmentManager", (new StringBuilder()).append("Re-attaching retained fragment ").append(fragment1).append(" target no longer exists: ").append(fragment1.y).toString());
fragment1.x = null;
}
}
i2++;
}
}
if (fragmentmanagerstate.b != null)
{
l = new ArrayList(fragmentmanagerstate.b.length);
for (int k1 = 0; k1 < fragmentmanagerstate.b.length; k1++)
{
Fragment fragment = (Fragment)k.get(fragmentmanagerstate.b[k1]);
if (fragment == null)
{
a(((RuntimeException) (new IllegalStateException((new StringBuilder()).append("No instantiated fragment for index #").append(fragmentmanagerstate.b[k1]).toString()))));
}
fragment.A = true;
if (a)
{
Log.v("FragmentManager", (new StringBuilder()).append("restoreAllState: added #").append(k1).append(": ").append(fragment).toString());
}
if (l.contains(fragment))
{
throw new IllegalStateException("Already added!");
}
l.add(fragment);
}
} else
{
l = null;
}
if (fragmentmanagerstate.c != null)
{
n = new ArrayList(fragmentmanagerstate.c.length);
int j1 = 0;
while (j1 < fragmentmanagerstate.c.length)
{
l l1 = fragmentmanagerstate.c[j1].a(this);
if (a)
{
Log.v("FragmentManager", (new StringBuilder()).append("restoreAllState: back stack #").append(j1).append(" (index ").append(l1.x).append("): ").append(l1).toString());
l1.a(" ", new PrintWriter(new LogWriter("FragmentManager")), false);
}
n.add(l1);
if (l1.x >= 0)
{
a(l1.x, l1);
}
j1++;
}
} else
{
n = null;
return;
}
}
if (true) goto _L1; else goto _L3
_L3:
}
public void a(Fragment fragment)
{
label0:
{
if (fragment.Z)
{
if (!j)
{
break label0;
}
A = true;
}
return;
}
fragment.Z = false;
a(fragment, s, 0, 0, false);
}
public void a(Fragment fragment, int i1, int j1)
{
if (a)
{
Log.v("FragmentManager", (new StringBuilder()).append("remove: ").append(fragment).append(" nesting=").append(fragment.G).toString());
}
boolean flag;
if (!fragment.a())
{
flag = true;
} else
{
flag = false;
}
if (!fragment.P || flag)
{
if (l != null)
{
l.remove(fragment);
}
if (fragment.S && fragment.T)
{
w = true;
}
fragment.A = false;
fragment.B = true;
int k1;
if (flag)
{
k1 = 0;
} else
{
k1 = 1;
}
a(fragment, k1, i1, j1, false);
}
}
void a(Fragment fragment, int i1, int j1, int k1, boolean flag)
{
if ((!fragment.A || fragment.P) && i1 > 1)
{
i1 = 1;
}
if (fragment.B && i1 > fragment.p)
{
i1 = fragment.p;
}
if (fragment.Z && fragment.p < 4 && i1 > 3)
{
i1 = 3;
}
if (fragment.p >= i1) goto _L2; else goto _L1
_L1:
if (fragment.D && !fragment.E)
{
return;
}
if (fragment.q != null)
{
fragment.q = null;
a(fragment, fragment.r, 0, 0, true);
}
fragment.p;
JVM INSTR tableswitch 0 4: default 148
// 0 154
// 1 495
// 2 792
// 3 792
// 4 833;
goto _L3 _L4 _L5 _L6 _L6 _L7
_L3:
fragment.p = i1;
return;
_L4:
if (a)
{
Log.v("FragmentManager", (new StringBuilder()).append("moveto CREATED: ").append(fragment).toString());
}
if (fragment.s != null)
{
fragment.t = fragment.s.getSparseParcelableArray("android:view_state");
fragment.x = getFragment(fragment.s, "android:target_state");
if (fragment.x != null)
{
fragment.z = fragment.s.getInt("android:target_req_state", 0);
}
fragment.aa = fragment.s.getBoolean("android:user_visible_hint", true);
if (!fragment.aa)
{
fragment.Z = true;
if (i1 > 3)
{
i1 = 3;
}
}
}
fragment.I = t;
fragment.K = v;
v v1;
if (v != null)
{
v1 = v.J;
} else
{
v1 = t.e;
}
fragment.H = v1;
fragment.U = false;
fragment.onAttach(t);
if (!fragment.U)
{
throw new ae((new StringBuilder()).append("Fragment ").append(fragment).append(" did not call through to super.onAttach()").toString());
}
if (fragment.K == null)
{
t.onAttachFragment(fragment);
}
if (!fragment.R)
{
fragment.b(fragment.s);
}
fragment.R = false;
if (fragment.D)
{
fragment.X = fragment.a(fragment.getLayoutInflater(fragment.s), null, fragment.s);
Animation animation1;
if (fragment.X != null)
{
fragment.Y = fragment.X;
fragment.X = P.a(fragment.X);
if (fragment.O)
{
fragment.X.setVisibility(8);
}
fragment.onViewCreated(fragment.X, fragment.s);
} else
{
fragment.Y = null;
}
}
_L5:
if (i1 > 1)
{
if (a)
{
Log.v("FragmentManager", (new StringBuilder()).append("moveto ACTIVITY_CREATED: ").append(fragment).toString());
}
if (!fragment.D)
{
View view;
Animation animation;
ViewGroup viewgroup;
if (fragment.M != 0)
{
viewgroup = (ViewGroup)u.a(fragment.M);
if (viewgroup == null && !fragment.F)
{
a(((RuntimeException) (new IllegalArgumentException((new StringBuilder()).append("No view found for id 0x").append(Integer.toHexString(fragment.M)).append(" (").append(fragment.getResources().getResourceName(fragment.M)).append(") for fragment ").append(fragment).toString()))));
}
} else
{
viewgroup = null;
}
fragment.W = viewgroup;
fragment.X = fragment.a(fragment.getLayoutInflater(fragment.s), viewgroup, fragment.s);
if (fragment.X != null)
{
fragment.Y = fragment.X;
fragment.X = P.a(fragment.X);
if (viewgroup != null)
{
animation1 = a(fragment, j1, true, k1);
if (animation1 != null)
{
fragment.X.startAnimation(animation1);
}
viewgroup.addView(fragment.X);
}
if (fragment.O)
{
fragment.X.setVisibility(8);
}
fragment.onViewCreated(fragment.X, fragment.s);
} else
{
fragment.Y = null;
}
}
fragment.c(fragment.s);
if (fragment.X != null)
{
fragment.a(fragment.s);
}
fragment.s = null;
}
_L6:
if (i1 > 3)
{
if (a)
{
Log.v("FragmentManager", (new StringBuilder()).append("moveto STARTED: ").append(fragment).toString());
}
fragment.d();
}
_L7:
if (i1 > 4)
{
if (a)
{
Log.v("FragmentManager", (new StringBuilder()).append("moveto RESUMED: ").append(fragment).toString());
}
fragment.C = true;
fragment.e();
fragment.s = null;
fragment.t = null;
}
goto _L8
_L2:
if (fragment.p <= i1) goto _L8; else goto _L9
_L9:
fragment.p;
JVM INSTR tableswitch 1 5: default 956
// 1 959
// 2 1139
// 3 1098
// 4 1057
// 5 1011;
goto _L10 _L11 _L12 _L13 _L14 _L15
_L10:
break; /* Loop/switch isn't completed */
_L11:
if (i1 < 1)
{
if (y && fragment.q != null)
{
view = fragment.q;
fragment.q = null;
view.clearAnimation();
}
if (fragment.q != null)
{
fragment.r = i1;
i1 = 1;
} else
{
if (a)
{
Log.v("FragmentManager", (new StringBuilder()).append("movefrom CREATED: ").append(fragment).toString());
}
if (!fragment.R)
{
fragment.k();
}
fragment.U = false;
fragment.onDetach();
if (!fragment.U)
{
throw new ae((new StringBuilder()).append("Fragment ").append(fragment).append(" did not call through to super.onDetach()").toString());
}
if (!flag)
{
if (!fragment.R)
{
d(fragment);
} else
{
fragment.I = null;
fragment.H = null;
}
}
}
}
break; /* Loop/switch isn't completed */
_L15:
if (i1 < 5)
{
if (a)
{
Log.v("FragmentManager", (new StringBuilder()).append("movefrom RESUMED: ").append(fragment).toString());
}
fragment.g();
fragment.C = false;
}
_L14:
if (i1 < 4)
{
if (a)
{
Log.v("FragmentManager", (new StringBuilder()).append("movefrom STARTED: ").append(fragment).toString());
}
fragment.h();
}
_L13:
if (i1 < 3)
{
if (a)
{
Log.v("FragmentManager", (new StringBuilder()).append("movefrom STOPPED: ").append(fragment).toString());
}
fragment.i();
}
_L12:
if (i1 < 2)
{
if (a)
{
Log.v("FragmentManager", (new StringBuilder()).append("movefrom ACTIVITY_CREATED: ").append(fragment).toString());
}
if (fragment.X != null && !t.isFinishing() && fragment.t == null)
{
e(fragment);
}
fragment.j();
if (fragment.X != null && fragment.W != null)
{
if (s > 0 && !y)
{
animation = a(fragment, j1, false, k1);
} else
{
animation = null;
}
if (animation != null)
{
fragment.q = fragment.X;
fragment.r = i1;
animation.setAnimationListener(new A(this, fragment));
fragment.X.startAnimation(animation);
}
fragment.W.removeView(fragment.X);
}
fragment.W = null;
fragment.X = null;
fragment.Y = null;
}
if (true) goto _L11; else goto _L8
_L8:
if (true) goto _L3; else goto _L16
_L16:
}
public void a(Fragment fragment, boolean flag)
{
if (l == null)
{
l = new ArrayList();
}
if (a)
{
Log.v("FragmentManager", (new StringBuilder()).append("add: ").append(fragment).toString());
}
c(fragment);
if (!fragment.P)
{
if (l.contains(fragment))
{
throw new IllegalStateException((new StringBuilder()).append("Fragment already added: ").append(fragment).toString());
}
l.add(fragment);
fragment.A = true;
fragment.B = false;
if (fragment.S && fragment.T)
{
w = true;
}
if (flag)
{
b(fragment);
}
}
}
public void a(FragmentActivity fragmentactivity, u u1, Fragment fragment)
{
if (t != null)
{
throw new IllegalStateException("Already attached");
} else
{
t = fragmentactivity;
u = u1;
v = fragment;
return;
}
}
public void a(Runnable runnable, boolean flag)
{
if (!flag)
{
q();
}
this;
JVM INSTR monitorenter ;
if (t == null)
{
throw new IllegalStateException("Activity has been destroyed");
}
break MISSING_BLOCK_LABEL_33;
Exception exception;
exception;
this;
JVM INSTR monitorexit ;
throw exception;
if (h == null)
{
h = new ArrayList();
}
h.add(runnable);
if (h.size() == 1)
{
t.d.removeCallbacks(D);
t.d.post(D);
}
this;
JVM INSTR monitorexit ;
}
boolean a(Handler handler, String s1, int i1, int j1)
{
if (n != null) goto _L2; else goto _L1
_L1:
return false;
_L2:
int i3;
if (s1 != null || i1 >= 0 || (j1 & 1) != 0) goto _L4; else goto _L3
_L3:
if ((i3 = -1 + n.size()) < 0) goto _L1; else goto _L5
_L5:
((l)n.remove(i3)).b(true);
c();
_L8:
return true;
_L4:
int k1;
int l1;
k1 = -1;
if (s1 == null && i1 < 0)
{
continue; /* Loop/switch isn't completed */
}
l1 = -1 + n.size();
break MISSING_BLOCK_LABEL_84;
if (l1 < 0) goto _L1; else goto _L6
_L6:
if ((j1 & 1) != 0)
{
l1--;
do
{
if (l1 < 0)
{
break;
}
l l3 = (l)n.get(l1);
if ((s1 == null || !s1.equals(l3.getName())) && (i1 < 0 || i1 != l3.x))
{
break;
}
l1--;
} while (true);
}
break MISSING_BLOCK_LABEL_207;
do
{
{
if (l1 < 0)
{
continue; /* Loop/switch isn't completed */
}
l l4 = (l)n.get(l1);
if (s1 != null && s1.equals(l4.getName()) || i1 >= 0 && i1 == l4.x)
{
continue; /* Loop/switch isn't completed */
}
l1--;
}
} while (true);
k1 = l1;
if (k1 == -1 + n.size()) goto _L1; else goto _L7
_L7:
ArrayList arraylist = new ArrayList();
for (int i2 = -1 + n.size(); i2 > k1; i2--)
{
arraylist.add(n.remove(i2));
}
int j2 = -1 + arraylist.size();
int k2 = 0;
while (k2 <= j2)
{
if (a)
{
Log.v("FragmentManager", (new StringBuilder()).append("Popping back stack state: ").append(arraylist.get(k2)).toString());
}
l l2 = (l)arraylist.get(k2);
boolean flag;
if (k2 == j2)
{
flag = true;
} else
{
flag = false;
}
l2.b(flag);
k2++;
}
c();
goto _L8
}
public boolean a(Menu menu)
{
boolean flag;
if (l != null)
{
int i1 = 0;
flag = false;
for (; i1 < l.size(); i1++)
{
Fragment fragment = (Fragment)l.get(i1);
if (fragment != null && fragment.a(menu))
{
flag = true;
}
}
} else
{
flag = false;
}
return flag;
}
public boolean a(Menu menu, MenuInflater menuinflater)
{
ArrayList arraylist = null;
boolean flag;
if (l != null)
{
int j1 = 0;
boolean flag1;
for (flag = false; j1 < l.size(); flag = flag1)
{
Fragment fragment1 = (Fragment)l.get(j1);
if (fragment1 != null && fragment1.a(menu, menuinflater))
{
flag = true;
if (arraylist == null)
{
arraylist = new ArrayList();
}
arraylist.add(fragment1);
}
flag1 = flag;
j1++;
}
} else
{
flag = false;
}
ArrayList arraylist1 = o;
int i1 = 0;
if (arraylist1 != null)
{
for (; i1 < o.size(); i1++)
{
Fragment fragment = (Fragment)o.get(i1);
if (arraylist == null || !arraylist.contains(fragment))
{
fragment.onDestroyOptionsMenu();
}
}
}
o = arraylist;
return flag;
}
public boolean a(MenuItem menuitem)
{
ArrayList arraylist;
boolean flag;
arraylist = l;
flag = false;
if (arraylist == null) goto _L2; else goto _L1
_L1:
int i1 = 0;
_L7:
int j1;
j1 = l.size();
flag = false;
if (i1 >= j1) goto _L2; else goto _L3
_L3:
Fragment fragment = (Fragment)l.get(i1);
if (fragment == null || !fragment.a(menuitem)) goto _L5; else goto _L4
_L4:
flag = true;
_L2:
return flag;
_L5:
i1++;
if (true) goto _L7; else goto _L6
_L6:
}
public void addOnBackStackChangedListener(FragmentManager.OnBackStackChangedListener onbackstackchangedlistener)
{
if (r == null)
{
r = new ArrayList();
}
r.add(onbackstackchangedlistener);
}
void b(Fragment fragment)
{
a(fragment, s, 0, 0, false);
}
public void b(Fragment fragment, int i1, int j1)
{
if (a)
{
Log.v("FragmentManager", (new StringBuilder()).append("hide: ").append(fragment).toString());
}
if (!fragment.O)
{
fragment.O = true;
if (fragment.X != null)
{
Animation animation = a(fragment, i1, true, j1);
if (animation != null)
{
fragment.X.startAnimation(animation);
}
fragment.X.setVisibility(8);
}
if (fragment.A && fragment.S && fragment.T)
{
w = true;
}
fragment.onHiddenChanged(true);
}
}
void b(l l1)
{
if (n == null)
{
n = new ArrayList();
}
n.add(l1);
c();
}
public void b(Menu menu)
{
if (l != null)
{
for (int i1 = 0; i1 < l.size(); i1++)
{
Fragment fragment = (Fragment)l.get(i1);
if (fragment != null)
{
fragment.b(menu);
}
}
}
}
public boolean b()
{
if (j)
{
throw new IllegalStateException("Recursive entry to executePendingTransactions");
}
if (Looper.myLooper() != t.d.getLooper())
{
throw new IllegalStateException("Must be called from main thread of process");
}
boolean flag = false;
_L2:
this;
JVM INSTR monitorenter ;
if (h != null && h.size() != 0)
{
break MISSING_BLOCK_LABEL_136;
}
this;
JVM INSTR monitorexit ;
boolean flag1;
if (!A)
{
break MISSING_BLOCK_LABEL_276;
}
int i1 = 0;
flag1 = false;
for (; i1 < k.size(); i1++)
{
Fragment fragment = (Fragment)k.get(i1);
if (fragment != null && fragment.ab != null)
{
flag1 |= fragment.ab.hasRunningLoaders();
}
}
break; /* Loop/switch isn't completed */
int j1;
j1 = h.size();
if (i == null || i.length < j1)
{
i = new Runnable[j1];
}
h.toArray(i);
h.clear();
t.d.removeCallbacks(D);
this;
JVM INSTR monitorexit ;
j = true;
for (int k1 = 0; k1 < j1; k1++)
{
i[k1].run();
i[k1] = null;
}
break MISSING_BLOCK_LABEL_252;
Exception exception;
exception;
this;
JVM INSTR monitorexit ;
throw exception;
j = false;
flag = true;
if (true) goto _L2; else goto _L1
_L1:
if (!flag1)
{
A = false;
a();
}
return flag;
}
public boolean b(MenuItem menuitem)
{
ArrayList arraylist;
boolean flag;
arraylist = l;
flag = false;
if (arraylist == null) goto _L2; else goto _L1
_L1:
int i1 = 0;
_L7:
int j1;
j1 = l.size();
flag = false;
if (i1 >= j1) goto _L2; else goto _L3
_L3:
Fragment fragment = (Fragment)l.get(i1);
if (fragment == null || !fragment.b(menuitem)) goto _L5; else goto _L4
_L4:
flag = true;
_L2:
return flag;
_L5:
i1++;
if (true) goto _L7; else goto _L6
_L6:
}
public FragmentTransaction beginTransaction()
{
return new l(this);
}
void c()
{
if (r != null)
{
for (int i1 = 0; i1 < r.size(); i1++)
{
((FragmentManager.OnBackStackChangedListener)r.get(i1)).onBackStackChanged();
}
}
}
void c(Fragment fragment)
{
if (fragment.u < 0)
{
if (m == null || m.size() <= 0)
{
if (k == null)
{
k = new ArrayList();
}
fragment.a(k.size(), v);
k.add(fragment);
} else
{
fragment.a(((Integer)m.remove(-1 + m.size())).intValue(), v);
k.set(fragment.u, fragment);
}
if (a)
{
Log.v("FragmentManager", (new StringBuilder()).append("Allocated fragment index ").append(fragment).toString());
return;
}
}
}
public void c(Fragment fragment, int i1, int j1)
{
if (a)
{
Log.v("FragmentManager", (new StringBuilder()).append("show: ").append(fragment).toString());
}
if (fragment.O)
{
fragment.O = false;
if (fragment.X != null)
{
Animation animation = a(fragment, i1, true, j1);
if (animation != null)
{
fragment.X.startAnimation(animation);
}
fragment.X.setVisibility(0);
}
if (fragment.A && fragment.S && fragment.T)
{
w = true;
}
fragment.onHiddenChanged(false);
}
}
ArrayList d()
{
ArrayList arraylist = k;
ArrayList arraylist1 = null;
if (arraylist != null)
{
int i1 = 0;
while (i1 < k.size())
{
Fragment fragment = (Fragment)k.get(i1);
if (fragment == null || !fragment.Q)
{
continue;
}
if (arraylist1 == null)
{
arraylist1 = new ArrayList();
}
arraylist1.add(fragment);
fragment.R = true;
int j1;
if (fragment.x != null)
{
j1 = fragment.x.u;
} else
{
j1 = -1;
}
fragment.y = j1;
if (a)
{
Log.v("FragmentManager", (new StringBuilder()).append("retainNonConfig: keeping retained ").append(fragment).toString());
}
i1++;
}
}
return arraylist1;
}
void d(Fragment fragment)
{
if (fragment.u < 0)
{
return;
}
if (a)
{
Log.v("FragmentManager", (new StringBuilder()).append("Freeing fragment index ").append(fragment).toString());
}
k.set(fragment.u, null);
if (m == null)
{
m = new ArrayList();
}
m.add(Integer.valueOf(fragment.u));
t.a(fragment.v);
fragment.b();
}
public void d(Fragment fragment, int i1, int j1)
{
if (a)
{
Log.v("FragmentManager", (new StringBuilder()).append("detach: ").append(fragment).toString());
}
if (!fragment.P)
{
fragment.P = true;
if (fragment.A)
{
if (l != null)
{
if (a)
{
Log.v("FragmentManager", (new StringBuilder()).append("remove from detach: ").append(fragment).toString());
}
l.remove(fragment);
}
if (fragment.S && fragment.T)
{
w = true;
}
fragment.A = false;
a(fragment, 1, i1, j1, false);
}
}
}
public void dump(String s1, FileDescriptor filedescriptor, PrintWriter printwriter, String as[])
{
int i1;
i1 = 0;
String s2 = (new StringBuilder()).append(s1).append(" ").toString();
if (k != null)
{
int i4 = k.size();
if (i4 > 0)
{
printwriter.print(s1);
printwriter.print("Active Fragments in ");
printwriter.print(Integer.toHexString(System.identityHashCode(this)));
printwriter.println(":");
for (int j4 = 0; j4 < i4; j4++)
{
Fragment fragment2 = (Fragment)k.get(j4);
printwriter.print(s1);
printwriter.print(" #");
printwriter.print(j4);
printwriter.print(": ");
printwriter.println(fragment2);
if (fragment2 != null)
{
fragment2.dump(s2, filedescriptor, printwriter, as);
}
}
}
}
if (l != null)
{
int j3 = l.size();
if (j3 > 0)
{
printwriter.print(s1);
printwriter.println("Added Fragments:");
for (int k3 = 0; k3 < j3; k3++)
{
Fragment fragment1 = (Fragment)l.get(k3);
printwriter.print(s1);
printwriter.print(" #");
printwriter.print(k3);
printwriter.print(": ");
printwriter.println(fragment1.toString());
}
}
}
if (o != null)
{
int k2 = o.size();
if (k2 > 0)
{
printwriter.print(s1);
printwriter.println("Fragments Created Menus:");
for (int i3 = 0; i3 < k2; i3++)
{
Fragment fragment = (Fragment)o.get(i3);
printwriter.print(s1);
printwriter.print(" #");
printwriter.print(i3);
printwriter.print(": ");
printwriter.println(fragment.toString());
}
}
}
if (n != null)
{
int i2 = n.size();
if (i2 > 0)
{
printwriter.print(s1);
printwriter.println("Back Stack:");
for (int j2 = 0; j2 < i2; j2++)
{
l l3 = (l)n.get(j2);
printwriter.print(s1);
printwriter.print(" #");
printwriter.print(j2);
printwriter.print(": ");
printwriter.println(l3.toString());
l3.a(s2, filedescriptor, printwriter, as);
}
}
}
this;
JVM INSTR monitorenter ;
if (p == null) goto _L2; else goto _L1
_L1:
int k1 = p.size();
if (k1 <= 0) goto _L2; else goto _L3
_L3:
printwriter.print(s1);
printwriter.println("Back Stack Indices:");
int l1 = 0;
_L4:
if (l1 >= k1)
{
break; /* Loop/switch isn't completed */
}
l l2 = (l)p.get(l1);
printwriter.print(s1);
printwriter.print(" #");
printwriter.print(l1);
printwriter.print(": ");
printwriter.println(l2);
l1++;
if (true) goto _L4; else goto _L2
_L2:
if (q != null && q.size() > 0)
{
printwriter.print(s1);
printwriter.print("mAvailBackStackIndices: ");
printwriter.println(Arrays.toString(q.toArray()));
}
this;
JVM INSTR monitorexit ;
if (h != null)
{
int j1 = h.size();
if (j1 > 0)
{
printwriter.print(s1);
printwriter.println("Pending Actions:");
for (; i1 < j1; i1++)
{
Runnable runnable = (Runnable)h.get(i1);
printwriter.print(s1);
printwriter.print(" #");
printwriter.print(i1);
printwriter.print(": ");
printwriter.println(runnable);
}
}
}
break MISSING_BLOCK_LABEL_694;
Exception exception;
exception;
this;
JVM INSTR monitorexit ;
throw exception;
printwriter.print(s1);
printwriter.println("FragmentManager misc state:");
printwriter.print(s1);
printwriter.print(" mActivity=");
printwriter.println(t);
printwriter.print(s1);
printwriter.print(" mContainer=");
printwriter.println(u);
if (v != null)
{
printwriter.print(s1);
printwriter.print(" mParent=");
printwriter.println(v);
}
printwriter.print(s1);
printwriter.print(" mCurState=");
printwriter.print(s);
printwriter.print(" mStateSaved=");
printwriter.print(x);
printwriter.print(" mDestroyed=");
printwriter.println(y);
if (w)
{
printwriter.print(s1);
printwriter.print(" mNeedMenuInvalidate=");
printwriter.println(w);
}
if (z != null)
{
printwriter.print(s1);
printwriter.print(" mNoTransactionsBecause=");
printwriter.println(z);
}
if (m != null && m.size() > 0)
{
printwriter.print(s1);
printwriter.print(" mAvailIndices: ");
printwriter.println(Arrays.toString(m.toArray()));
}
return;
}
Parcelable e()
{
b();
if (c)
{
x = true;
}
if (k != null && k.size() > 0) goto _L2; else goto _L1
_L1:
return null;
_L2:
int i1 = k.size();
FragmentState afragmentstate[] = new FragmentState[i1];
int j1 = 0;
boolean flag = false;
while (j1 < i1)
{
Fragment fragment = (Fragment)k.get(j1);
int ai[];
ArrayList arraylist;
BackStackState abackstackstate[];
FragmentManagerState fragmentmanagerstate;
int k1;
int l1;
int i2;
int j2;
boolean flag1;
if (fragment != null)
{
if (fragment.u < 0)
{
a(new IllegalStateException((new StringBuilder()).append("Failure saving state: active ").append(fragment).append(" has cleared index: ").append(fragment.u).toString()));
}
FragmentState fragmentstate = new FragmentState(fragment);
afragmentstate[j1] = fragmentstate;
if (fragment.p > 0 && fragmentstate.j == null)
{
fragmentstate.j = f(fragment);
if (fragment.x != null)
{
if (fragment.x.u < 0)
{
a(new IllegalStateException((new StringBuilder()).append("Failure saving state: ").append(fragment).append(" has target not in fragment manager: ").append(fragment.x).toString()));
}
if (fragmentstate.j == null)
{
fragmentstate.j = new Bundle();
}
putFragment(fragmentstate.j, "android:target_state", fragment.x);
if (fragment.z != 0)
{
fragmentstate.j.putInt("android:target_req_state", fragment.z);
}
}
} else
{
fragmentstate.j = fragment.s;
}
if (a)
{
Log.v("FragmentManager", (new StringBuilder()).append("Saved state of ").append(fragment).append(": ").append(fragmentstate.j).toString());
}
flag1 = true;
} else
{
flag1 = flag;
}
j1++;
flag = flag1;
}
if (flag)
{
break; /* Loop/switch isn't completed */
}
if (a)
{
Log.v("FragmentManager", "saveAllState: no fragments!");
return null;
}
if (true) goto _L1; else goto _L3
_L3:
label0:
{
if (l != null)
{
i2 = l.size();
if (i2 > 0)
{
ai = new int[i2];
for (j2 = 0; j2 < i2; j2++)
{
ai[j2] = ((Fragment)l.get(j2)).u;
if (ai[j2] < 0)
{
a(new IllegalStateException((new StringBuilder()).append("Failure saving state: active ").append(l.get(j2)).append(" has cleared index: ").append(ai[j2]).toString()));
}
if (a)
{
Log.v("FragmentManager", (new StringBuilder()).append("saveAllState: adding fragment #").append(j2).append(": ").append(l.get(j2)).toString());
}
}
break label0;
}
}
ai = null;
}
arraylist = n;
abackstackstate = null;
if (arraylist != null)
{
k1 = n.size();
abackstackstate = null;
if (k1 > 0)
{
abackstackstate = new BackStackState[k1];
for (l1 = 0; l1 < k1; l1++)
{
abackstackstate[l1] = new BackStackState(this, (l)n.get(l1));
if (a)
{
Log.v("FragmentManager", (new StringBuilder()).append("saveAllState: adding back stack #").append(l1).append(": ").append(n.get(l1)).toString());
}
}
}
}
fragmentmanagerstate = new FragmentManagerState();
fragmentmanagerstate.a = afragmentstate;
fragmentmanagerstate.b = ai;
fragmentmanagerstate.c = abackstackstate;
return fragmentmanagerstate;
}
void e(Fragment fragment)
{
if (fragment.Y != null)
{
if (C == null)
{
C = new SparseArray();
} else
{
C.clear();
}
fragment.Y.saveHierarchyState(C);
if (C.size() > 0)
{
fragment.t = C;
C = null;
return;
}
}
}
public void e(Fragment fragment, int i1, int j1)
{
if (a)
{
Log.v("FragmentManager", (new StringBuilder()).append("attach: ").append(fragment).toString());
}
if (fragment.P)
{
fragment.P = false;
if (!fragment.A)
{
if (l == null)
{
l = new ArrayList();
}
if (l.contains(fragment))
{
throw new IllegalStateException((new StringBuilder()).append("Fragment already added: ").append(fragment).toString());
}
if (a)
{
Log.v("FragmentManager", (new StringBuilder()).append("add from attach: ").append(fragment).toString());
}
l.add(fragment);
fragment.A = true;
if (fragment.S && fragment.T)
{
w = true;
}
a(fragment, s, i1, j1, false);
}
}
}
public boolean executePendingTransactions()
{
return b();
}
Bundle f(Fragment fragment)
{
if (B == null)
{
B = new Bundle();
}
fragment.d(B);
Bundle bundle;
if (!B.isEmpty())
{
bundle = B;
B = null;
} else
{
bundle = null;
}
if (fragment.X != null)
{
e(fragment);
}
if (fragment.t != null)
{
if (bundle == null)
{
bundle = new Bundle();
}
bundle.putSparseParcelableArray("android:view_state", fragment.t);
}
if (!fragment.aa)
{
if (bundle == null)
{
bundle = new Bundle();
}
bundle.putBoolean("android:user_visible_hint", fragment.aa);
}
return bundle;
}
public void f()
{
x = false;
}
public Fragment findFragmentById(int i1)
{
if (l == null) goto _L2; else goto _L1
_L1:
int k1 = -1 + l.size();
_L8:
if (k1 < 0) goto _L2; else goto _L3
_L3:
Fragment fragment = (Fragment)l.get(k1);
if (fragment == null || fragment.L != i1) goto _L5; else goto _L4
_L4:
return fragment;
_L5:
k1--;
continue; /* Loop/switch isn't completed */
_L2:
label0:
{
if (k == null)
{
break label0;
}
int j1 = -1 + k.size();
do
{
if (j1 < 0)
{
break label0;
}
fragment = (Fragment)k.get(j1);
if (fragment != null && fragment.L == i1)
{
break;
}
j1--;
} while (true);
}
if (true) goto _L4; else goto _L6
_L6:
return null;
if (true) goto _L8; else goto _L7
_L7:
}
public Fragment findFragmentByTag(String s1)
{
if (l == null || s1 == null) goto _L2; else goto _L1
_L1:
int j1 = -1 + l.size();
_L8:
if (j1 < 0) goto _L2; else goto _L3
_L3:
Fragment fragment = (Fragment)l.get(j1);
if (fragment == null || !s1.equals(fragment.N)) goto _L5; else goto _L4
_L4:
return fragment;
_L5:
j1--;
continue; /* Loop/switch isn't completed */
_L2:
label0:
{
if (k == null || s1 == null)
{
break label0;
}
int i1 = -1 + k.size();
do
{
if (i1 < 0)
{
break label0;
}
fragment = (Fragment)k.get(i1);
if (fragment != null && s1.equals(fragment.N))
{
break;
}
i1--;
} while (true);
}
if (true) goto _L4; else goto _L6
_L6:
return null;
if (true) goto _L8; else goto _L7
_L7:
}
public void g()
{
x = false;
a(1, false);
}
public FragmentManager.BackStackEntry getBackStackEntryAt(int i1)
{
return (FragmentManager.BackStackEntry)n.get(i1);
}
public int getBackStackEntryCount()
{
if (n != null)
{
return n.size();
} else
{
return 0;
}
}
public Fragment getFragment(Bundle bundle, String s1)
{
int i1 = bundle.getInt(s1, -1);
Fragment fragment;
if (i1 == -1)
{
fragment = null;
} else
{
if (i1 >= k.size())
{
a(new IllegalStateException((new StringBuilder()).append("Fragement no longer exists for key ").append(s1).append(": index ").append(i1).toString()));
}
fragment = (Fragment)k.get(i1);
if (fragment == null)
{
a(new IllegalStateException((new StringBuilder()).append("Fragement no longer exists for key ").append(s1).append(": index ").append(i1).toString()));
return fragment;
}
}
return fragment;
}
public List getFragments()
{
return k;
}
public void h()
{
x = false;
a(2, false);
}
public void i()
{
x = false;
a(4, false);
}
public void j()
{
x = false;
a(5, false);
}
public void k()
{
a(4, false);
}
public void l()
{
x = true;
a(3, false);
}
public void m()
{
a(2, false);
}
public void n()
{
a(1, false);
}
public void o()
{
y = true;
b();
a(0, false);
t = null;
u = null;
v = null;
}
public void p()
{
if (l != null)
{
for (int i1 = 0; i1 < l.size(); i1++)
{
Fragment fragment = (Fragment)l.get(i1);
if (fragment != null)
{
fragment.f();
}
}
}
}
public void popBackStack()
{
a(new x(this), false);
}
public void popBackStack(int i1, int j1)
{
if (i1 < 0)
{
throw new IllegalArgumentException((new StringBuilder()).append("Bad id: ").append(i1).toString());
} else
{
a(new z(this, i1, j1), false);
return;
}
}
public void popBackStack(String s1, int i1)
{
a(new y(this, s1, i1), false);
}
public boolean popBackStackImmediate()
{
q();
executePendingTransactions();
return a(t.d, ((String) (null)), -1, 0);
}
public boolean popBackStackImmediate(int i1, int j1)
{
q();
executePendingTransactions();
if (i1 < 0)
{
throw new IllegalArgumentException((new StringBuilder()).append("Bad id: ").append(i1).toString());
} else
{
return a(t.d, ((String) (null)), i1, j1);
}
}
public boolean popBackStackImmediate(String s1, int i1)
{
q();
executePendingTransactions();
return a(t.d, s1, -1, i1);
}
public void putFragment(Bundle bundle, String s1, Fragment fragment)
{
if (fragment.u < 0)
{
a(new IllegalStateException((new StringBuilder()).append("Fragment ").append(fragment).append(" is not currently in the FragmentManager").toString()));
}
bundle.putInt(s1, fragment.u);
}
public void removeOnBackStackChangedListener(FragmentManager.OnBackStackChangedListener onbackstackchangedlistener)
{
if (r != null)
{
r.remove(onbackstackchangedlistener);
}
}
public Fragment.SavedState saveFragmentInstanceState(Fragment fragment)
{
if (fragment.u < 0)
{
a(new IllegalStateException((new StringBuilder()).append("Fragment ").append(fragment).append(" is not currently in the FragmentManager").toString()));
}
int i1 = fragment.p;
Fragment.SavedState savedstate = null;
if (i1 > 0)
{
Bundle bundle = f(fragment);
savedstate = null;
if (bundle != null)
{
savedstate = new Fragment.SavedState(bundle);
}
}
return savedstate;
}
public String toString()
{
StringBuilder stringbuilder = new StringBuilder(128);
stringbuilder.append("FragmentManager{");
stringbuilder.append(Integer.toHexString(System.identityHashCode(this)));
stringbuilder.append(" in ");
if (v != null)
{
DebugUtils.buildShortClassTag(v, stringbuilder);
} else
{
DebugUtils.buildShortClassTag(t, stringbuilder);
}
stringbuilder.append("}}");
return stringbuilder.toString();
}
static
{
a = false;
int i1 = android.os.Build.VERSION.SDK_INT;
boolean flag = false;
if (i1 >= 11)
{
flag = true;
}
c = flag;
}
}